#include "Joueur.h"

// Classes
#include "Classe.h"
#include "Barde.h"
#include "Clerc.h"
#include "Druide.h"
#include "Guerrier.h"
#include "Mage.h"
#include "Paladin.h"
#include "Rodeur.h"
#include "Specialiste.h"
#include "Voleur.h"
#include "MetaClasse.h"

// Races
#include "Race.h"
#include "DemiElfe.h"
#include "DemiOgre.h"
#include "DemiOrque.h"
#include "Elfe.h"
#include "Gnome.h"
#include "Hobbit.h"
#include "Humain.h"
#include "Nain.h"
#include "MetaRace.h"

#include "lib.h"

using namespace std;

int main(int argc, char* argv[])
{
  FlotMessage blank( BLANK );

  unsigned tmp;

  blank << setfill('#') << setw(80) << '#' << endmsg << setfill(' ')
	<< '#' << setw(49) << "- EvolutionJoueur -" << setw(30) << '#'
	<< endmsg << '#' << setw(79) << '#' << endmsg
	<< '#' << setw(52) << "Progression du personnage"
	<< setw(27) << '#' << endmsg
	<< '#' << setw(44) << "Projet ADD" << setw(35) << '#' << endmsg
	<< '#' << setw(79) << '#' << endmsg
	<< '#' << setw(58) << "Développé par Johan \"Solo\" Luisier"
	<< setw(23) << '#' << endmsg
	<< '#' << setw(41) << "2007" << setw(38) << '#'
	<< endmsg << setfill('#') << setw(80) << '#' << endmsg << endmsg;

  Joueur bob;

  tmp = demanderUnsignedBorne( "Entrer le nombre d'xp gagnés : ", 1,
			       1000000 );

  StatusCode sc( bob.ajouterXP( tmp ) );

  if ( sc )
    {
      tmp = demanderUnsignedBorne( "Entrer le nombre de PV gagnés : ", 1, 20 );
      bob . classePtr( sc.valeur() ) -> augmenterPV( tmp );
    }

  tmp = demanderUnsignedBorne( "Entrer le nombre de pp gagnés : ", 1, 30 );

  bob.ajouterPP(tmp);

  bob.determinerCompetences();
  bob.augmenterCompetences();
  bob.determinerCompMartiales();

  bob.ecrireXml();

  return 0;
}
